package chapter_17.AnonyInner;

/**
 * Created by Administrator on 2018/8/7.
 * 匿名内部类测试
 */
public class MainTest {

    public static void main(String[] args) {

        // 方法参数是匿名内部类
        View view = new View();
        view.handler(new OnClickListener() {
            @Override
            public void onClick() {
                System.out.println("实现接口的匿名内部类...");
            }
        });

        // 继承类的匿名内部类
        Figure figure = new Figure() {
            @Override
            public void onDraw() {
                System.out.println("实现抽象方法的匿名内部类...");
            }
        };
        // 抽象类的匿名内部类调用
        figure.onDraw();

        // 具体类作为内部类
        Person person = new Person("Tony",18){
            @Override
            public String toString() {
                return "覆盖具体类方法的匿名内部类";
            }
        };
        // 打印过程自动调用 person 的 toString() 方法
        System.out.println(person);
    }

}
